package com.amigo.online.consumer.video.util;


import org.springframework.web.multipart.MultipartFile;

import com.amigo.online.common.core.response.StatusCode;
import com.amigo.online.consumer.video.exception.FileUploadException;

public class NewVideoUtil {

	public static boolean check(MultipartFile[] files) {
		if(files.length<2) {
			throw new FileUploadException(StatusCode.BAD_REQUEST);
		}
		if(files[2]==null) {
			throw new FileUploadException(StatusCode.BAD_REQUEST);
		}
		return true;
	}
	
	
	/*// 1、用户拍摄没选音乐   接受图片第一帧、视频流和视频内的音频流
	public static String getVideo1(MultipartFile[] file,Integer duretion) {
		String videoUrl = UploadImgUtil.convetor(file,duretion).get(0);
		return videoUrl;
	}
	
	// 2、用户拍摄选择了音乐    接受图片第一帧、视频流和音乐的fastdfs的地址
	public static String getVideo2(MultipartFile file,String music,Integer duretion) {
		String videoUrl = UploadImgUtil.getVideo2(file, music,duretion);
		return videoUrl;
	}
	
	//3、用户选择本地视频没选择音乐      接受图片第一帧、视频流
	public static String getVideo3(MultipartFile file,Integer duretion) {
		MultipartFile[] fe = {file};
		String videoUrl = UploadImgUtil.compressVideo(fe).get(0);
		return videoUrl;
	}
	
	//4、用户选择本地视频选择了音乐      接受图片第一帧、视频流和音乐的fastdfs地址
	public static String getVideo4(MultipartFile file,String music,Integer duretion) {
		//剥离音乐
		MultipartFile[] fe = {file};
		String video = UploadImgUtil.shunt(fe);
		String videoUrl = UploadImgUtil.getVideo4(video, music,duretion);
		return videoUrl;
	}*/
	
	
//	public static String uploadVideo(String videoUrl) {
//		String vid = "";
//		try {
//			File video = new File(videoUrl);
//			FileInputStream fin = new FileInputStream(video);
//			//可能溢出,简单起见就不考虑太多,如果太大就要另外想办法，比如一次传入固定长度byte[]
//	        byte[] bytes  = new byte[fin.available()];
//	        //将文件内容写入字节数组，提供测试的case
//	        fin.read(bytes);
//	        logger.info("开始上传  视频是"+"-------------"+videoUrl);
//	        vid = FastDFSClient.uploadFile(bytes, null);
//	        logger.info("成功后的  视频是"+"-------------"+vid);
//	        fin.close();
//		}  catch (Exception e) {
//			e.printStackTrace();
//		}
//		return vid;
//	}
}
